<?php

    class BuscadorJugadoresController
    {
        var $nombre;
        var $filtroNombre;
        var $estaturaMin;
        var $estaturaMax;

        var $resultados;
        var $errs;

        function BuscadorJugadoresController()
        {
            $this->errs = array();
            $this->resultados = array();

            //1era vez
            $this->nombre = "";
            $this->filtroNombre = "contains";
            $this->estaturaMin = 1;
            $this->estaturaMax = 2.5;

            if ($_SERVER["REQUEST_METHOD"] == "POST")
            {
                $this->parseForm();
                if (!$this->validate()) return;

                // Realizar busqueda
                $jugadores = JugadoresDAO::getAll();

                foreach ($jugadores as $jugador)
                {
                    // Al ppio todos son resultado
                    $isResult = true;

                    // Vamos descartando
                    if ($this->filtroNombre != "-1")
                    {

                        if ($this->filtroNombre === "contains")
                            if (strripos($jugador->getNombreCompleto(), $this->nombre) === false)
                                $isResult = false;

                        if ($this->filtroNombre === "is")
                            if ($jugador->getNombreCompleto() != $this->nombre)
                                $isResult = false;
                    }

                    if ($jugador->estatura > $this->estaturaMax || $jugador->estatura < $this->estaturaMin)
                        $isResult = false;


                    if ($isResult)
                        $this->resultados[] = $jugador;

                }


            }
        }


        function parseForm()
        {
            $this->nombre = Form::getPost('nombre');
            $this->filtroNombre = Form::getPost('filtro_nombre');
            $this->estaturaMin = Form::getPost('estatura_min');
            $this->estaturaMax = Form::getPost('estatura_max');

            
        }

        function validate()
        {
            if (!is_numeric($this->estaturaMin))
                    $this->errs[] = "Estatura debe ser numerico";

            if (!is_numeric($this->estaturaMax))
                    $this->errs[] = "Estatura debe ser numerico";


            return (sizeof($this->errs) == 0);
        }
    }

?>